/**
 * 
 */
package com.util;

import java.lang.reflect.Field;

public class Copyable {

	public static void copy(Object o1, Object o2) {
		for (Field f1 : o1.getClass().getDeclaredFields()) {
			if (f1.getName().equals("serialVersionUID"))
				continue;
			try {
				f1.setAccessible(true);
				Field f2 = o2.getClass().getDeclaredField(f1.getName());
				if (f2 != null) {
					f2.setAccessible(true);
					f2.set(o2, f1.get(o1));
				}
			} catch (IllegalArgumentException e1) {
				e1.printStackTrace();
			} catch (IllegalAccessException e1) {
				e1.printStackTrace();
			} catch (SecurityException e) {
				e.printStackTrace();
			} catch (NoSuchFieldException e) {
				//e.printStackTrace();
			}
		}
	}
}
